package cn.fuxi2022.accounts.message.service;

public interface WeChatMessageService {

    /**
     * 在微信公众平台上 开发者填写的 token 参数
     */
    String token = "ggkt";

    String SUCCESS_FIRST = "恭喜，您的入社费用订单支付成功";
    String SUCCESS_REMARK = "欢迎您的入社";

    String ALERT_FIRST = "请注意，您的入社费用订单仍未支付";
    String ALERT_REMARK = "您需要尽快支付，否则订单将会关闭";

    String FAIL_FIRST = "很遗憾，您的入社费用订单已经关闭";
    String FAIL_REMARK = "您可以重新进入社团入社的支付页面，再次进行入社订单支付";

    String WAIT = "等待支付";

    String CLOSE = "关闭";

    String SUCCESS = "支付成功";

    // ------------------------------------------------------------------------

    String REGISTER_SUCCESS_FIRST = "恭喜您签到成功";

    String REGISTER_SUCCESS_REMARK = "感谢您的支持，祝您在活动中过得愉快";

    String REGISTER_FAIL_FIRST = "很遗憾，您并未签到成功";

    String REGISTER_FAIL_REMARK = "当前活动已经结束，或您的信息不完善，导致签到失败";

    /**
     * 验证消息的确来自微信服务器
     *
     * @param signature 微信加密签名，signature结合了开发者填写的 token 参数和请求中的 timestamp 参数、nonce参数。
     * @param timestamp 时间戳
     * @param nonce     随机数
     * @return true:来自微信服务器 false:不是来自微信服务器
     */
    boolean verifyToken(String signature, String timestamp, String nonce);


    /**
     * 发送订单消息的模板消息 接口
     * <p>
     * {{first.DATA}}
     * 订单号：{{keyword1.DATA}}
     * 订单类型：{{keyword2.DATA}}
     * 订单状态：{{keyword3.DATA}}
     * 提交日期：{{keyword4.DATA}}
     * {{remark.DATA}}
     */
    void pushPayMessage(String openId, String name, String orderNo, String time, int type);

    /**
     * 发送签到通知的模板消息 接口
     * <p>
     * {{first.DATA}}
     * 学生姓名：{{keyword1.DATA}}
     * 时间：{{keyword2.DATA}}
     * {{remark.DATA}}
     */
    void pushRegister(String openId, int type, String name, String time);
}